//
//  XWXSqliteQueryCommand+Table.h
//  XWXSqlite
//
//  Created by 许卫星 on 17/9/4.
//  Copyright © 2017年 wxxu. All rights reserved.
//

#import "XWXSqliteQueryCommand.h"

@interface XWXSqliteQueryCommand (Table)

/**
 创建表格
 @param tableName  表名称
 @param columnInfo 字段信息
 @param primaryKey 主键
 @return Sql对象
 */
- (XWXSqliteQueryCommand *)createTable:(NSString *)tableName columnInfo:(NSString *)columnInfo primaryKey:(NSString *)primaryKey;

/**
 删除表
 @param tableName 表名称
 @return Sql对象
 */
- (XWXSqliteQueryCommand *)dropTable:(NSString *)tableName;

/**
 修改表名

 @param tableName   老表名
 @param retableName 新表名

 @return Sql对象
 */
- (XWXSqliteQueryCommand *)alterTable:(NSString *)tableName retableName:(NSString *)retableName;

/**
 给表格添加一列
 @param columnName 添加的列名
 @param columnInfo 添加列的类型描述
 @param tableName  表名

 @return Sql对象
 */
- (XWXSqliteQueryCommand *)addColumn:(NSString *)columnName columnInfo:(NSString *)columnInfo tableName:(NSString *)tableName;

/**
 给表格创建索引

 @param indexName         索引名称
 @param tableName         表名称
 @param indexedColumnList 索引列列表
 @param condition         条件
 @param isUnique          是否创建唯一索引，YES唯一

 @return Sql对象
 */
- (XWXSqliteQueryCommand *)createIndex:(NSString *)indexName tableName:(NSString *)tableName indexedColumnList:(NSArray *)indexedColumnList whereCondition:(NSString *)condition  isUnique:(BOOL)isUnique;


/**
 删除索引
 @param indexName 索引名称
 @return Sql对象
 */
- (XWXSqliteQueryCommand *)dropIndex:(NSString *)indexName;

/**
 表格是否存在
 @param tableName 表格
 @return Sql对象
 */
- (XWXSqliteQueryCommand *)isTableExists: (NSString *)tableName;


/**
 获取表格里面所有的字段
 @param tableName 表格
 @return Sql对象
 */
- (XWXSqliteQueryCommand *)tableAllColumnNames :(NSString *)tableName;
@end
